#ifndef ENTITY_H
#define ENTITY_H


namespace base
{
    class EntityManager;

    class Entity
    {
        EntityManager* pmanager;
        int const id;

    public:
        Entity();
        virtual ~Entity();

        int getId()
        {
            return id;
        }
        EntityManager* getEntityManager()
        {
            return pmanager;
        }

        void regEntity(EntityManager* pmanager);


    protected:
    private:
        static int genId();
    };
};
#endif // ENTITY_H
